package cn.legend.travel.ask.service;

import cn.legend.travel.ask.pojo.param.AddNewAnswerParam;
import cn.legend.travel.ask.pojo.vo.AnswerStandardVO;
import cn.legend.travel.ask.pojo.vo.AnswerVo;
import cn.legend.travel.ask.pojo.vo.AsksSearchVo;
import cn.legend.travel.common.pojo.authentication.CurrentPrincipal;
import cn.legend.travel.common.pojo.vo.PageData;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public interface AnswerService {
    void addLikes(Long questionId, CurrentPrincipal currentPrincipal);

    void cancelLikes(Long questionId, CurrentPrincipal currentPrincipal);

    void AddViews(Long questionId);

    PageData<AsksSearchVo> search(String keyword, Integer page);

    void report(Long answerId);

    void addNewAnswer(CurrentPrincipal currentPrincipal, AddNewAnswerParam addNewAnswerParam);

    AnswerStandardVO getBestAsk(Long questionId);
}
